草庐IT

php - 在PHP中模拟友元类

全部标签

javascript - 使用 Supertest 和模拟数据库进行 Express JS 集成测试

是否可以使用supertest测试ExpressJSRESTAPI,但用模拟数据库对象替换实际的数据库连接?我有涵盖数据库模型和应用程序其他部分的单元测试以及建立实际数据库连接的API端点的功能测试,但我有一个奇怪的要求来创建类似于功能测试但使用模拟数据库连接的集成测试。下面是一个示例端点Controller:varmodel=require('../../../lib/models/list');module.exports={index:function(req,res){vardata={key:'domains',table:'demo.events'};vardataMode

javascript - 如何模拟模块进行 Angular Testing

假设我有一个Angular模块定义为varapp=angular.module('app',[dependenceny1Module,dependenceny2Module,dependenceny3Module......])其中app是一个依赖于大量其他模块的模块。现在对于单元测试,我可以使用模拟模块mock('app')但我必须为所有依赖模块创建模拟模块,如下所示mockDependency1=angular.module('dependency1Module')mockDependency1=angular.module('dependency2Module')或者我必须加载包

javascript - 模拟在同一模块中导出和调用的模块函数?

单元测试和spy、stub和模拟的概念的新手。我想从下面的代码中测试password.js中的verify方法,但是我无法stubhash测试文件中的函数。因为verify使用了hash函数并且导出了hash函数,所以我应该stubhash函数返回固定响应而不是实际调用的hash。因为我不想测试hash函数。问题:在测试verify时没有调用为hash函数创建的stub。附带问题1:我应该专注于测试函数本身的逻辑而不是其他被调用函数的逻辑吗?主要问题:(已回答)如何stub在同一模块中调用的模块函数?附带问题2:如果hash未导出但仅保留在模块中,我将如何stub?代码密码.js/**

javascript - 如何在 Nodejs 中模拟 "window"对象?

在浏览器中运行时,所有附加到“window”对象的东西都会自动成为全局对象。如何创建类似于Nodejs中的对象?mySpecialObject.foo=9;varf=function(){console.log(foo);};f();//Thisshouldprint"9"toconsole 最佳答案 您可以为此目的使用预定义对象global。如果您将foo定义为global对象的属性,它将在之后使用的所有模块中可用。例如,在app.js中:varhttp=require('http');varfoo=require('./foo'

javascript - 为什么不模拟 Tab 键按下将焦点移动到下一个输入字段?

备注this题。我看到除了触发tab按键事件之外还有其他方法,但我仍然想知道为什么触发tab按键事件不会将焦点移动到下一个输入字段。CodePenHTMLJS$('textarea').on('keydown',function(e){if(e.metaKey&&e.which===40){console.log('test');$(this).trigger({type:'keypress',which:9});}}); 最佳答案 因为选项卡事件是用于更改焦点的native浏览器事件/操作。.trigger()函数只触发分配给它的

javascript - 使用键盘箭头使用 three.js 进行第一人称模拟

有关我的来源,请访问http://jsfiddle.net/fYtwf/背景我有一个使用three.js的简单3d模拟,其中相机在3维空间中被立方体包围。在对View控件进行编码和测试之前,这些立方体有助于可视化相机正在注视的位置。我想创建一个简单的3D应用程序,通过上、下、左和右控制相机键。就像移动你的头一样问题在我目前的应用中,当面向前方并开始向上看时,我们就成功了。然而,当我们向左转90度,并按下向上箭头时……错误的事情发生了。相机增加了x轴,但是因为我们面对的是另一个方向,单独修改x轴是错误的...现在我假设这是因为需要一些三Angular函数来计算z轴的正确值。但是,我的三A

javascript - 在 RequireJS 环境下模拟使用 Lo-Dash 和 Underscore

在RequireJS环境中,允许某些AMD模块使用Lo-Dash而其他模块同时使用Underscore的最佳方法是什么? 最佳答案 我能够相当简单地自己解决问题。专门为需要Lo-Dash的模块使用lodash路径,为需要“underscore”的模块使用underscore:require.config({paths:{'underscore':'path-to-my-underscore-file','lodash':'path-to-my-lodash-file'}});这样两个库可以同时使用,互不干扰。与普遍的看法和主张相反,

javascript - 如何模拟浏览器的时区?

这个问题在这里已经有了答案:Howtouseacustomtimeinbrowsertotestforclientvsservertimedifference(11个答案)关闭5年前。我想测试网站中的位置功能,为了进行此测试,我需要尝试不同的时区。我使用javascript代码获取时区,调用以下函数:varoffset=newDate().getTimezoneOffset();现在这个函数返回给我180因为我在阿根廷,我需要测试不同的时区。有人知道怎么做吗?非常感谢!!

javascript - 如何用JavaScript模拟点击让当前输入失去焦点

我有一个输入,在某些时候恰好有焦点。如果用户单击页面的“背景”,输入将失去焦点。我试图用下面的代码模拟背景上的点击,但这不起作用(你会注意到输入仍然有焦点)。关于如何编写模拟点击页面“背景”的代码的任何建议?YAHOO.util.Event.onDOMReady(function(){document.getElementById("input").focus();document.getElementById("main").focus();}); 最佳答案 我会想象使用blur()会达到目的:YAHOO.util.Event.o

javascript - 如何对异步 Redux 操作进行单元测试以模拟 ajax 响应

我正在创建一个中间件,用于使用异步操作发出ajax请求。中间件拦截原始操作,执行ajax请求,并重新调度原始操作以及来自url的响应。所以,我的组件只会发送这样的ActiononClick(){dispatch(ActionCreator.fetchUser());}其余部分将由中间件处理,如图所示here.我的问题是,单元测试应该怎么做?我应该模拟onClick本身吗?或者我应该编写一个模拟中间件并使用模拟响应转发操作?我不确定应该采用哪种方法。我试过severalstuff,但我尝试的一切对我来说都没有意义。有什么建议吗? 最佳答案